<?php

class Login extends CI_Controller {

    public function index() {
        
        if (!$this->input->post('submit')) {
            //Si el controlador es invocado por primera vez, se carga la vista inicial
            $this->initView();
        } else {
            //Si el controlador es cargado por el envío del formulario, entonces
            //son validados los datos enviados desde éste
            $this->perform();
        }
    }

    public function initView($mensaje = null) {
        //Se obtienen los datos para crear los campos del formulario
        /* Campo username */
        $data['username'] = array(
            'name' => 'username',
            'id' => 'username',
            'value' => '', 
            'maxlength' => 40,
            'size' => 50
            
        );

        $data['password'] = array(
            'name' => 'password',
            'id' => 'password',
            'value' => '', 
            'maxlength' => 30,
            'size' => 40    
            
        );
        $data['mensaje'] = $mensaje;
        $this->load->view('pages/login.php', $data);
    }

    public function perform() {
        $username = $this->input->post('username');
        $password = $this->input->post('password');
        
        $data['username'] = $username;
        $this->load->model('User', '', TRUE);
        if ($this->User->userLogin($username, $password)) {
            $newdata = array(
                'username' => $username,
                'logged_in' => TRUE
            );

            $this->session->set_userdata($newdata);
            redirect('/layers');
        } else {
            $this->initView('Error de autenticación');
        }
    }
    
    public function logout() {
        if ($this->session->userdata('logged_in')) {
            $this->session->sess_destroy();
           
        }
        redirect('login');
    }

}